Computers are very powerful tools for searching for relevant information among a vast amount of information. Indexes are a common mechanism for efficiently identifying information of interest among a large corpus of information using a computer. A typical index is an organized mapping of keywords to the documents of information from which the keywords were extracted or derived. As an example, an index of the world's publically accessible web pages may map words in the web pages to the subset of the web pages that contain that word.
Between the actual physical index itself (e.g., the index data as stored on one or more computers) and the users of the system, a search system is typically provided as a software cushion or layer. In essence, the search system shields the user from knowing or even caring about underlying index details. Typically, all requests from users for information in the index are processed by the search system. For example, documents relevant to a user's request for information may be identified by the search system using an index, all without user knowledge of the underlying index implementation. In this manner, the search system provides users access to relevant information without concern to how the information is indexed or accessed. One well-known search system for identifying relevant information among the world's publically accessible web pages is the GOOGLE Internet search engine provided by Google Inc. of Mountain View, Calif.
One function of a search system is answer to search queries (or just “queries” for short). A query may be defined as a logical expression including a set of one or more search terms, and results in the identification of a subset of indexed documents. Consider, for instance, the handling of a request for information from an Internet search engine. In operation, this request is typically issued by a client system as one or more Hyper Text Transfer Protocol or “HTTP” requests for retrieving particular search results (e.g., a list of all Internet web pages containing the words “college” and “basketball”) from indexes on server computers. In response to this request, the search system typically returns a web page containing hyperlinks to those Internet web pages considered to be most relevant to the search terms “college” and “basketball”.
Internet search engines are well-suited for searching all the world's information that is publically available on the Internet. Recently, however, users are beginning to amass a substantial amount of “personal” digital information that is not publically accessible on the Internet or indexed by an Internet search engine. Such information can include, for example, personal digital photos, school, and work documents among other personal and private digital information. In some instances, a user's personal digital information is shared with a defined group users. For example, an employee may share work documents with other colleagues or a user may share digital photos with friends and family.
One way users have recently begun storing and managing all their personal digital information is by using a cloud data storage service. Such services allows users to upload and store their personal digital information on server computers accessible on the Internet or other network from their various end-user computing devices. In some instances, the service may synchronize information between end-user computing devices and service server computers to facilitate user access to information locally at the end-user computing devices. One well-known cloud data storage service is the DROPBOX content management service provided by Dropbox, Inc. of San Francisco, Calif.
Users of cloud data storage services would appreciate ways to search for and locate their personal digital information hosted by such services. Such personal digital information is typically not publically accessible on the Internet. For this and other reasons, Internet search engines are generally not adequate to meet the search needs of these users.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.